﻿namespace System
{
    [ImportClass(string.Empty, "Date")]
    public struct DateTime
    {
        public DateTime(long misec)
            : this()
        {
        }

        public DateTime(string str)
            : this()
        {
        }

        public DateTime(uint year, uint month, uint day, uint hours, uint minutes, uint seconds, uint milliseconds)
            : this()
        {
        }

        /// <summary>
        /// Day of the month(1-31)
        /// </summary>
        public uint Date { get; set; }

        /// <summary>
        /// Day of week(0-6)
        /// </summary>
        public uint Day
        {
            get { return 0; }
        }

        public uint FullYear { get; set; }

        /// <summary>
        /// 0-23
        /// </summary>
        public uint Hours { get; set; }

        /// <summary>
        /// 0-999
        /// </summary>
        public uint Milliseconds { get; set; }

        /// <summary>
        /// 0-59
        /// </summary>
        public uint Minutes { get; set; }

        /// <summary>
        /// 0-11
        /// </summary>
        public uint Month { get; set; }

        public uint Seconds { get; set; }

        /// <summary>
        /// Returns the number of milliseconds since midnight Jan 1, 1970
        /// </summary>
        public uint Time { get; set; }

        public uint UTCFullYear { get; set; }

        public uint UTCHours { get; set; }

        public uint UTCMilliseconds { get; set; }

        public uint UTCMinutes { get; set; }

        public uint UTCMonth { get; set; }

        public uint UTCSeconds { get; set; }

        public uint UTCDate { get; set; }

        /// <summary>
        /// Returns the time difference between GMT and local time, in minutes
        /// </summary>
        public uint TimezoneOffset
        {
            get { return 0; }
        }

        /// <summary>
        /// Returns the day of the week, according to universal time (from 0-6)
        /// </summary>	
        public uint UTCDay
        {
            get { return 0; }
        }

        /// <summary>
        /// Parses a date string and returns the number of milliseconds since midnight of January 1, 1970
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public static long Parse(string date)
        {
            return 0;
        }

        public string ToDateString()
        {
            return null;
        }

        public string ToLocaleDateString()
        {
            return null;
        }

        public string ToLocaleTimeString()
        {
            return null;
        }

        public string ToLocaleString()
        {
            return null;
        }

        public override string ToString()
        {
            return null;
        }

        public string ToTimeString()
        {
            return null;
        }

        public string ToUTCString()
        {
            return null;
        }

        /// <summary>
        /// Returns the number of milliseconds in a date string since midnight of January 1, 1970, according to universal time
        /// </summary>
        /// <returns></returns>
        [ImportMember("UTC")]
        public long UTC()
        {
            return 0;
        }

        /*
        public DateTime ValueOf()
        {
            return null;
        }
        */
    }
}
